Multiple party call acknowledgement

ABSTRACT

Disclosed embodiments provide improved communication between a caller and multiple parties. A caller performs a call spray operation on a group of contacts using an electronic communication device such as a mobile telephone. The call spray operation attempts to contact an electronic device associated with each contact in the group of contacts. If one of the contacts answers and is deemed to be a live user, then the remaining contacts that did not answer each receive a message on their associated electronic device indicating which of the contacts answered the caller with a live user. In this way, a group of people can be conveniently contacted and kept up to date with the status of the communication with the caller.

The present patent document is a continuation of U.S. patent applicationSer. No. 16/197,483, filed Nov. 21, 2018, Ser. No. 16/197,483 is acontinuation of U.S. patent application Ser. No. 15/926,255, filed Mar.20, 2018, now U.S. Pat. No. 10,178,231, issued Jan. 8, 2019, U.S. patentapplication Ser. No. 15/926,255, is a continuation of U.S. patentapplication Ser. No. 15/432,233, filed Feb. 14, 2017, now U.S. Pat. No.9,973,628, issued May 15, 2018, entitled “MULTIPLE PARTY CALLACKNOWLEDGEMENT”, the entire contents of which is incorporated herein byreference.

BACKGROUND

This disclosure relates generally to telephony, and more particularly,to multiple party call acknowledgment. Smartphones and other personalelectronic devices allow users to save contact information of amultitude of people. These people may be friends, family, colleagues, orcoworkers, etc., of the user. In various situations, a user may wish tocall all, or a subset of, the contacts in his/her contact lists. Thiscan sometimes cause confusion amongst the recipients of the calls. Thus,there exists a need for improvements in multiple party calling.

SUMMARY

In one aspect, embodiments provide a computer-implemented method forperforming a multiple party call acknowledgement, comprising: receivinga plurality of contacts on a call processing system from an electronicdevice of a caller; initiating a connection attempt to each of theplurality of contacts with the call processing system; in response toconnecting with an electronic device of a live user associated with onecontact of the plurality of contacts, configuring a call spray eventnotification that is associated with each of the plurality of contactsfor which a connection is not established.

In another aspect, embodiments provide an electronic communicationdevice comprising: a processor; a memory coupled to the processor, thememory containing instructions, that when executed by the processor,perform the steps of: receiving a plurality of contacts on a callprocessing system from an electronic device of a caller; initiating aconnection attempt to each of the plurality of contacts with the callprocessing system; and configuring, in response to connecting with anelectronic device of a live user associated with one contact of theplurality of contacts, a call spray event notification that isassociated with each of the plurality of contacts for which a connectionis not established.

In yet another aspect, embodiments provide a computer program productfor performing a multiple party call acknowledgement, for an electroniccomputing device comprising a computer readable storage medium havingprogram instructions embodied therewith, the program instructionsexecutable by a processor to cause the electronic computing device to:receive a plurality of contacts on a call processing system from anelectronic device of a caller; initiate a connection attempt to each ofthe plurality of contacts with the call processing system; andconfigure, in response to connecting with an electronic device of a liveuser associated with one contact of the plurality of contacts, a callspray event notification that is associated with each of the pluralityof contacts for which a connection is not established.

BRIEF DESCRIPTION OF THE DRAWINGS

Features of the disclosed embodiments will be more readily understoodfrom the following detailed description of the various aspects of theinvention taken in conjunction with the accompanying drawings.

FIG. 1 is a block diagram of a device in accordance with embodiments ofthe present invention.

FIG. 2 is a diagram of an environment in which embodiments of thepresent invention may be implemented.

FIG. 3A is a flowchart indicating process steps for embodiments of thepresent invention.

FIG. 3B is a flowchart indicating additional process steps forembodiments of the present invention.

FIG. 4 is a sample call spray group in accordance with embodiments ofthe present invention.

FIG. 5A shows an illustration representation of a call spray group priorto a live user connection.

FIG. 5B shows an illustration representation of a call spray group aftera live user connection.

FIG. 6 is an example call acknowledgement message in accordance withembodiments of the present invention.

FIG. 7 shows an illustration representation of a call spray group aftermultiple live user connections.

FIG. 8 is another example call acknowledgement message in accordancewith embodiments of the present invention.

FIG. 9 shows a representation of a call spray group containing aninaccessible group member, after a live user connection.

FIG. 10 is a flowchart indicating process steps for configuring a callspray event notification that is associated with each of the pluralityof contacts for which a connection is not established.

FIG. 11A shows an exemplary user interface indicating a plurality ofmissed call notifications.

FIG. 11B shows an exemplary user interface after removal of a missedcall notification that was part of a call spray.

FIG. 12 shows an exemplary user interface for establishing configurationoptions.

The drawings are not necessarily to scale. The drawings are merelyrepresentations, not necessarily intended to portray specific parametersof the invention. The drawings are intended to depict only exampleembodiments of the invention, and therefore should not be considered aslimiting in scope. In the drawings, like numbering may represent likeelements. Furthermore, certain elements in some of the figures may beomitted, or illustrated not-to-scale, for illustrative clarity.

DETAILED DESCRIPTION

Disclosed embodiments provide improved communication between a callerand multiple parties. In particular, disclosed embodiments provide amultiple party call acknowledgement. A caller performs a call sprayoperation on a group of contacts using an electronic communicationdevice such as a mobile telephone. The call spray operation attempts tocontact each contact in the group of contacts. If at least one of thecontacts answers and is deemed to be a live user, then the remainingcontacts that did not answer may each receive a message indicating whichof the contacts answered the call as a live user, and in someembodiments, additional information. In this way, a group of people canbe conveniently contacted and kept up to date with the status of thecommunication with the caller.

A non-limiting example use case for disclosed embodiments is in the caseof a health-related situation. As an example, a person who is feelingill and needs assistance can perform a call spray operation on a groupof contacts. The contacts may be close family or friends of the user.Once a contact answers, and is determined to be a live user, theremaining contacts that are part of the call spray group are sent amessage that includes information about the connection with the liveuser that was established. This allows important information to bequickly and efficiently disseminated amongst the members of the callspray group. In some embodiments, caller biometric information and/orother sensor data may be included in the message.

Another non-limiting example use case for disclosed embodiments is asituation where the electronic device of a caller has a very low batterylevel, and the caller needs to reach someone as soon as possible, butthe electronic device of the caller may not have sufficient battery lifeto attempt multiple calls. In this case, a call spray operation canstreamline the calling by simultaneously calling multiple electronicdevices associated with members of the call spray group, and connectingthe caller with the electronic device associated with the first liveuser to answer. Thus, the caller is able to make contact with someone inthe case of an electronic device with limited battery life remaining.

Reference throughout this specification to “one embodiment,” “anembodiment,” “some embodiments”, or similar language means that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment of thepresent invention. Thus, appearances of the phrases “in one embodiment,”“in an embodiment,” “in some embodiments”, and similar languagethroughout this specification may, but do not necessarily, all refer tothe same embodiment.

Moreover, the described features, structures, or characteristics of theinvention may be combined in any suitable manner in one or moreembodiments. It will be apparent to those skilled in the art thatvarious modifications and variations can be made to the presentinvention without departing from the spirit and scope and purpose of theinvention. Thus, it is intended that the present invention cover themodifications and variations of this invention provided they come withinthe scope of the appended claims and their equivalents. Reference willnow be made in detail to the preferred embodiments of the invention.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of this disclosure.As used herein, the singular forms “a”, “an”, and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. Furthermore, the use of the terms “a”, “an”, etc., do notdenote a limitation of quantity, but rather denote the presence of atleast one of the referenced items. The term “set” is intended to mean aquantity of at least one. It will be further understood that the terms“comprises” and/or “comprising”, or “includes” and/or “including”, or“has” and/or “having”, when used in this specification, specify thepresence of stated features, regions, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, regions, integers, steps,operations, elements, components, and/or groups thereof.

FIG. 1 is a block diagram of a device in accordance with embodiments ofthe present invention. Device 100 is shown as a simplified diagram ofmodules. Device 100 is an electronic computing device. Device 100includes a processor 102, which is coupled to a memory 104. Memory 104may include dynamic random access memory (DRAM), static random accessmemory (SRAM), magnetic storage, and/or a read only memory such asflash, EEPROM, optical storage, or other suitable memory. In someembodiments, the memory 104 may not be a transitory signal per se.Memory 104 includes instructions, which when executed by the processor,implement steps of the present invention. In embodiments, device 100 mayhave multiple processors 102, and/or multiple cores per processor.

Device 100 may further include storage 106. In embodiments, storage 106may include one or more magnetic storage devices such as hard diskdrives (HDDs). Storage 106 may include one or more solid state drives(SSDs). Any other storage device may be included instead of, or inaddition to, those disclosed herein.

Device 100 further includes a user interface 108, examples of whichinclude a liquid crystal display (LCD), a plasma display, a cathode raytube (CRT) display, a light emitting diode (LED) display, an organic LED(OLED) display, or other suitable display technology. The user interface108 may further include a keyboard, mouse, and/or a touch screen,incorporating a capacitive or resistive touch screen in someembodiments.

The device 100 further includes a communication interface 110. Inembodiments, the communication interface 110 may include a wirelesscommunication interface that includes modulators, demodulators, andantennas for a variety of wireless protocols including, but not limitedto, Bluetooth™, Wi-Fi, and/or cellular communication protocols forcommunication over a computer network. Any other suitable communicationinterface, now known or hereafter developed, may be substituted.

The device 100 further includes a geolocation receiver 112. Geolocationreceiver 112 may be any type of location-detecting system. For example,it may include a global positioning system, triangulation system, orother suitable technology. The geolocation receiver can be used toprovide caller location information.

FIG. 2 is a diagram 200 of an environment in which embodiments of thepresent invention may be implemented. Call processing system 202includes a processor 240, memory 242, and storage 244, for storing dataand executing functions in accordance with embodiments of the presentinvention. In embodiments, call processing system 202 may be a telephonyswitch. In embodiments, call processing system 202 may be part of thenetwork infrastructure of a cellular telephone service provider. Inembodiments, the call processing system 202 may implement a SignalingSystem 7 (SS7) protocol. Call processing system 202 is in communicationwith network 224. Network 224 may be the Internet, local area network(LAN), wide area network (WAN), cloud network, or any other suitablenetwork. The environment includes multiple client devices incommunication with network 224, namely, client device 204, client device206, client device 208, client device 212, client device 216, and clientdevice 218. It should be recognized that although six client devices areshown for the purpose of disclosure, more or fewer may be included inimplementations of the invention. The client devices may be smartphonesor other suitable electronic devices.

The call processing system 202 may further include an analyzer 247. Theanalyzer may be configured to analyze a greeting when it is detectedthat the call is answered. The analyzer may further be configured todetermine, based on the analysis, whether the call has been connectedwith a live user rather than a voicemail or answering machine. Inembodiments, the analyzer may be implemented with a digital signalprocessor (DSP), and/or software stored in memory 244 and executed onprocessor 240.

FIG. 3A is a flowchart 300 indicating process steps for embodiments ofthe present invention. At block 350, a plurality of contacts is receivedby, for example, a telephony device such as call processing system 202(FIG. 2). In some embodiments, the contacts may be an entire contactlist, for example, from a user's smartphone. In some embodiments, thecontacts may be a selected group of contacts, for example, imported to,or accessed from, a user's smartphone. In some embodiments, the contactsare a user-created group that is entered manually to the system, forexample, through an application user interface. In some embodiments, thecontacts are associated with a billing account of the caller. Forexample, all members of a “family plan” of a telephone service providermay comprise a group. The group of contacts is herein referred to as a“call spray group.” In some embodiments, the step may include receivinga designation of a set of contacts as a call spray group. In someembodiments, the designation may include a name of the group, forexample, “Emergency Contacts”, “Parents”, or “Co-Workers”.

At block 351, an initiation request is received. The initiation requestmay be received by a call processing system from a caller's mobiledevice via, for example, the application user interface. In someembodiments, the steps of block 350 and 351 are executed in a singlestep, for example, via a single API allowing selection of the callgroup, as well as the initiation request. At block 352, a connectionattempt is initiated by the call processing stem to one or more contactsreceived from a caller's mobile device. The caller's mobile device is anelectronic device that may be a telephony device such as a smartphone,or other Internet-enabled electronic device capable of making voicecalls. In some embodiments, the connection attempt may be the initiationof a phone call by dialing a phone number associated with the contact.At block 353, it is determined whether the call is answered. If yes, theflow proceeds to block 354, where it is determined if the call isanswered by a live user. For the purposes of this disclosure, “liveuser” refers to a human being answering the call. If it is determinedthat the call is answered by a live user, the flow proceeds to block 355where a connection is made between the live user and the caller. Theflow then proceeds to block 360, where a message is sent, e.g., to eachof the plurality of contacts for which a connection is not established.In some embodiments, each connection attempt may be initiatedsimultaneously. Thus, if there are five contacts within a call spraygroup, then a connection attempt may be initiated for all five contactssimultaneously. In other embodiments, one or more of the connectionattempts may be performed in a sequential manner.

If it is determined that the call is not answered at block 353, then theflow proceeds to block 356, where it is determined whether the processis at the last contact in the call spray group. If so, the flow proceedsto block 360, where a call spray message is sent to the members of thecall spray group. If not, at block 358, a next contact is selected, andthe flow proceeds to block 352. In the case where no live users answer acall, each member of the call spray group may receive a messageindicating that the call was not answered by a live user. In alternateembodiments, the sending of the message may not occur immediately, butdelivered at a future time (as illustrated in FIG. 10).

Embodiments may include using a voice analysis process to determine thata connection with the live user is established. An analyzer (such asanalyzer 114 of FIG. 1) may analyze the greeting that is transmitted bythe called device upon establishment of a connection. Based on theanalysis, a determination may be made as to whether the call is answeredby a live person or a voicemail/answering machine. Live users typicallyanswer the phone using short greetings, such as “Hello”, “Hi”, or “Thisis Sarah”. In contrast, voicemail/answering machine greetings aretypically longer with more information, like “Hello, and thank you forcalling John. I am away from my desk or on the other line. Please leavea message, and I will return your call as soon as possible.”Accordingly, a threshold duration may be set, for example, at fiveseconds. If a duration of a detected greeting is over the threshold, itmay be interpreted to be a voicemail/answering machine instead of a liveuser.

FIG. 3B shows a subprocess 380 for determining whether a live user isdetected (see block 354 of FIG. 3A). At block 382, it is detected thatthe call is answered. At block 384, it is determined whether thegreeting is of a length that exceeds the threshold. If not, the flowproceeds to block 386 where it is determined that a live user isdetected. If so, the flow proceeds to block 388 where it is determinedthat a live human is not detected. In embodiments, the threshold may befive seconds. Thus, in embodiments, the voice analysis process includesmeasuring a greeting duration. It should be recognized that this is anexample analysis, and that other suitable processes are possible. Inembodiments, the operations indicated in FIG. 3A and FIG. 3B areperformed by the call processing system 202 (FIG. 2).

In some embodiments, other parameters may be analyzed instead of, or inaddition to, greeting length. For example, tone of voice may beanalyzed, or the presence of background noise. For example, ifbackground noise is detected, it may be determined that it is a liveuser since people usually record voicemail/answering machine greetingsin a quiet place. Additionally, sometimes when a user answers the phone,s/he may be in a public place where there is background noise presentsuch as people talking or cars driving on streets.

FIG. 4 is a sample call spray group 400 in accordance with embodimentsof the present invention. The call spray group may be displayed on thescreen of a mobile device or computer, for example, by an application.In the example, the user has assigned four contacts—Al, Carla, Dennis,and Michael—to a group designated by the name “Call Spray Group Number1” 402. The assignment may be made through selection via a touchscreenor other suitable user interface. Although only the contact names areshown on the screen, contact information associated with each contactname is associated therewith. The user may initiate a call to thecontacts in Call Spray Group Number 1 by clicking with a mouse cursor,pressing a touch sensitive screen, or otherwise selecting the “Connect”button 404. It should be recognized that the sample screen display shownis an example, and other configurations are included within the scope ofembodiments of the invention.

FIG. 5A shows an illustration representation of a group of contactsprior to a live user connection. In the example, there are four contactsin call spray group 500. Brian, the caller who has created the callspray group 502 in his smartphone, is represented at 530. Dennis isrepresented at 538. Michael is represented at 536. Al is represented at534. Carla is represented at 532. In the example, Brian 530 initiates acall, via his mobile electronic device communicating with callprocessing system 588, which in turn attempts a connection with each ofthe contacts in call spray group 502.

FIG. 5B shows an illustration representation of a call spray group aftera live user connection. Brian 530 initiates a call to call spray group502. In the example, the embodiment of the invention is implemented asan application on the caller's smartphone. Embodiments place a call toAl 534, but Al 534 fails to pick up the phone. After five rings,embodiments terminate the call, and place a call to Michael 536. Michael536 is away from his device, and the associated voicemail answers afterfour rings. The voicemail greeting recites 10 seconds of information.Embodiments determine that it is not a live user based on the greetingexceeding a predetermined threshold of five seconds. Embodimentsterminate the call, and place a call to Carla 532. Carla 532 answers herphone as a “live user.” Embodiments connect the call between Carla 532and Brian 530. The connection is represented at arrow 524. Carla 532says, “Hello.” Brian 530 replies “I am at the airport.” Carla 532replies “OK, I am on my way to get you.” Brian 530 says “I am at thebaggage carousel for terminal D. I will be waiting near the counter.”Carla 532 then replies, “Great, see you soon.” Carla 532 and Brian 530each hang up their respective phones, terminating the call. In someembodiments, the connection attempt to each electronic device associatedwith the call spray group may be performed simultaneously. In suchembodiments, once it is determined that a connection is made with anelectronic device associated with a live user, the electronic devicesassociated with the other (non-answering) members of the call spraygroup may receive a message that a call spray event occurred.

FIG. 6 is an example call acknowledgement message 600 in accordance withembodiments of the present invention, based on the example described forFIG. 5B. In some embodiments, the message 600 may be an SMS or MMSmessage. In some embodiments, the message 600 may be an email message.In some embodiments, the message 600 is sent to all users in the callspray group. In some embodiments, the message 600 is further sent to thecaller. In some embodiments, the message 600 is only sent to thecontacts in the call spray group other than the live user who answeredthe call. In some embodiments, the message 600 is sent in response tothe caller hanging up the phone following a connection. In someembodiments, the message 600 is sent in response to the live userhanging up the phone following a connection. In some embodiments, themessage 600 is sent in response to the disengagement of the call.

In some embodiments, the message 600 may include notification 602.Notification 602 may include an indication that a call spray wasreceived, the identity of the caller and the identity of the live user.In some embodiments, the message 600 may further include a partialtranscript 604 of the conversation between the live user and the caller.The users' voices may be captured by a microphone on the caller's andthe live user's electronic devices (e.g. phones). The transcript may beproduced using a speech-to-text system that is executed on, or connectedto, call processing system 202 using data received from the voicechannel of a telecommunications connection. A predetermined duration,for example, the first 15 seconds of a call may be transcribed. Inembodiments, the message includes a callback number 606 associated witha voice recording including the full conversation with the live user andthe caller. This telephone number 606 may be provided by a telephoneservice provider. The recording of the conversation may be stored on thecall processing system 202 and streamed to a device upon request.

Some embodiments include connecting with a second live user, in additionto the first live user, associated with one contact of the plurality ofcontacts (in call spray group). A conference call is formed between thecaller, the first live user, and the second live user. In such cases,the message 600 may further include the name of the second live user.

In some embodiments, instead of a partial transcript as shown in 604, acomputer-generated conversation summary may be displayed on anelectronic device. The computer-generated conversation summary may becreated by the call processing system (202 of FIG. 2) or other system incommunication with the call processing system. In embodiments, thegeneration of the computer-generated conversation summary may includeperforming an extraction-based summarization process and/or anabstraction-based summarization process. One or more natural languageprocessing (NLP) techniques may be used to preprocess a conversationprior to creating a computer-generated conversation summary. Thesetechniques may include, but are not limited to, tokenization, part ofspeech identification, bigram analysis, keyphrase extraction, and/orentity detection.

FIG. 7 shows a representation 700 of a call spray group after multiplelive user connections. In the example, Brian 730 initiates a call, viahis mobile electronic device communicating with call processing system788, which in turn attempts a connection with each of the electronicdevices associated with contacts in the call spray group. In theexample, Brian 730, the caller, is first connected with Carla 732, alive user, in a similar manner as described with respect to Brian 530and Carla 532 in FIG. 5B. However, in the current example, calls arecontinued to the remaining contacts in the list of contacts even after afirst connection is made. In the example, embodiments place a call toDennis 738, after Brian 730 and Carla 732 are connected. Dennis 738answers his phone, and embodiments determine that Dennis 738 is a liveuser. The call between Brian 730 and Carla 732 is switched to aconference call including Brian 730, Carla 732, and Dennis 738 on theline, as indicated by connection arrows 724 and 727. In the example, theconversation flows as follows. Brian 730 says, “I am not feeling well.”Carla 732 says, “Okay, I am on my way to get you.” Dennis 738 then says,“I will pick up your medicine.” Al 734 and Michael 736 do notparticipate in the conference call. Al 734 and Michael 736 may insteadreceive a call spray notification message on their telephony deviceindicating the details of the call spray operation in accordance withsome embodiments of the invention.

A sensor 744, either included on the caller's (Brian 730) smartphone(device) or in communication with such smartphone, may send informationto embodiments of the invention for inclusion in a call spray groupmessage. The sensor 744 may be any suitable sensor. For example, itmight be a biometric sensor, such as heart rate, pulse, or bloodpressure sensor. In some embodiments, the sensor may be an environmentalsensor, such as moisture, barometric pressure, etc. The caller's devicemay send a reading of the sensor 744 to embodiments for inclusion in amessage. In some embodiments, more than one sensor may be provided.

FIG. 8 is another example call acknowledgement message 800, related tothe example of FIG. 7, in accordance with embodiments of the presentinvention. In some embodiments, the message may be a SMS or MMS message.In some embodiments, the message 800 may be an email message. In someembodiments, the message 800 may be sent to all users in the call spraygroup. In some embodiments, the message 800 may be further sent to thecaller. In some embodiments, the message 800 is only sent to thecontacts in the call spray group other than the live users.

In some embodiments, the message 800 may include notification 802.Notification 802 may include an indication that a call spray wasreceived, the identity of the caller, and the identity of the live user.In some embodiments, the message 800 may include a partial transcript804 including a portion of the conversation among the first live user,the second live user, and the caller. The transcript may be producedusing a speech-to-text capability. A predetermined duration, forexample, the first 25 seconds, of a call may be transcribed. In someembodiments, the message 800 includes a callback number 806 associatedwith a voice message including the recorded conversation with the liveuser, the second live user, and the caller. This telephone number 806may be provided by a telephone service provider. The recording of theconversation may be stored on the call processing system 202 andstreamed to a device upon request.

In some embodiments, message 800 further includes information 808 from asensor coupled to the smartphone of the caller (e.g., sensor 744 (FIG.7)). In some embodiments, the sensor is a biometric sensor, for example,to measure heart rate. In the example, the reading is of a heart ratesensor, but in implementations, the sensor may be any suitable sensor.In other embodiments, it may be a name or address associated with thelocation associated with the coordinates. This can be used to provideimportant health information, such as vital statistics for a sickpatient, for example.

In some embodiments, message 800 may further include the caller'slocation 810. In some embodiments, the caller's location may be thelatitude and longitude coordinates of the caller's user device asdetermined by the geolocation receiver integrated with the caller'ssmartphone. The geolocation receiver may include a global positioningsystem or other suitable technology.

FIG. 9 shows a representation of a call spray group containing aninaccessible group member after a live user connection. In someinstances, a member of the call spray group may be inaccessible, and/ormay have his/her electronic device disabled. In the example, Brian 930initiates a call, via his mobile electronic device communicating withcall processing system 988, which in turn attempts a connection witheach of the electronic devices associated with contacts in call spraygroup. In the example of FIG. 9, Carla 932 is currently on an airplane947 with no access to the telephony system. Thus, when Brian 930 placeshis call spray and a live connection is established with the electronicdevice associated with Dennis 938, then the electronic devicesassociated with Mike 936, and Al 934 may receive a missed callnotification, but the electronic device of Carla 932 may not receive anyindication that a call spray occurred, as she was in the airplane 947 atthat time.

When Carla 932 arrives at her destination and deplanes, she may decideto call Brian 930, not realizing that a call spray had occurred. In thisembodiment, as a result of the call spray, the telephony system isconfigured with a call spray event notification that is associated witheach of the plurality of contacts for which a connection is notestablished. Thus, when Carla 932 calls Brian 930, she is firstpresented with a call spray event notification, which can include avoice message indicating that Brian 930 made a call spray, and thatDennis 938 was the live user that answered the call spray.

In some embodiments, a caller-ID function may be used to determine theidentity of the caller. In the example, if Carla 932 calls from hermobile device, the call processing system 202 can recognize thetelephone number as belonging to Carla 932, and present her with thecall spray event notification, which includes details about the callspray, and in some embodiments, includes the name of the live user thatwas connected during the call spray.

In some embodiments, the call processing system (202 of FIG. 2) mayassociate multiple telephone numbers with a member of the call spraygroup. In embodiments, this may be based on a contact database stored inthe user's mobile device and/or residing on a server accessible by thenetwork (e.g., 224 of FIG. 2). In this way, if Carla 932 calls Brian 930from her home telephone, work telephone, or other telephone that is partof her contact record, the call processing system may associate the callas coming from Carla 932 and presents the call spray event notificationto her. Thus, when Carla 932 calls Brian 930, she first hearsinformation about the call spray. When the call spray event notificationis complete, she may have an option to connect to Brian 930, leave Brian930 a voicemail, and/or disconnect.

FIG. 10 is a flowchart 1000 indicating process steps for configuring acall spray event notification that is associated with each of theplurality of contacts for which a connection is not established. Atprocess step 1050, a call is received by the call processing system. Atprocess step 1052, the caller is identified. In some embodiments, thecaller may be identified based on the telephone number of the caller. Inother embodiments, the call processing system may utilize voiceprinttechnology to identify the voice of the caller. In this way, the callercan call from any telephone and still be identified. In otherembodiments, the caller may enter a code when placing a call to providean identification of the caller.

At process step 1054, a check is made to determine if a call spraynotification is in effect. If not, then a conventional connection isperformed at 1060. The conventional connection may include attempting toreach a live user, followed by connection to a voicemail system if thelive user does not answer. If yes, then at process step 1056, a check ismade to determine if the caller identified at process step 1052 is partof the call spray group. If not, then a conventional connection isperformed at 1060. If yes, then a call spray event notification messageis presented to the user at process step 1058. The call spray eventnotification may include a name of the live user, a partial or completerecording of the conversation between the call spray originator and thelive user, and/or additional information. In some embodiments, afterprocess step 1058 completes, the caller may be provided an option toperform a conventional connection at process step 1060.

FIG. 11A shows an exemplary user interface indicating a plurality ofmissed call notifications. In this example, the user identificationfield 1102 of the user interface indicates that the device 1100 belongsto Mike (936 of FIG. 9). The missed call log 1104 indicates calls fromAl, Brian, and David. The call from Brian is a result of the call sprayoperation described and shown in FIG. 9. In some embodiments, it may bedesirable to remove a missed call notification that resulted from a callspray. This can be the case when a live user answers and resolves theissue of the call spray originator (the caller). In such a situation,the call spray originator may wish to remove the missed callnotification, so that the call spray originator is not flooded withmultiple return calls for an issue that has already been resolved.

In embodiments, the device 1100 may include an API or other softwarecomponent that allows a missed call notification to be removed when acall spray operation connects with a live user. In embodiments, the callprocessing system (202 of FIG. 2) may send a message to the device 1100once the call spray operation successfully connects to a live user,instructing the device 1100 to remove the missed call notification fromthe missed call log 1104. FIG. 11B shows the resulting missed call log1106, which removes Brian from the list. As a result, when Mike checkshis telephone missed call log, he does not see the call spray fromBrian, since it was successfully answered by Dennis (938 of FIG. 9).

FIG. 12 shows an exemplary user interface 1200 for establishingconfiguration options. Option 1202 includes a checkbox to enable removalof missed call notifications. This feature allows missed callnotifications from a call spray that was answered by a live user to beremoved from the device if the call spray successfully connected with alive user. Option 1204 includes selections for sharing call spraynotifications. In embodiments, one option allows the call spraynotifications to be shared amongst members of the call spray group.Another option allows the call spray notifications to be shared witheveryone. As shown in FIG. 12, a radio button is currently enabling theoption for sharing call spray notifications amongst members of the callspray group. If, instead, the option to share call spray notificationswith everyone is selected, then when a caller calls the user, the callspray notification is shared with the caller, even if the caller is notpart of the call spray group. Other sharing options are possible.

Option 1206 includes selections for deactivating a call spraynotification. As shown, the call spray notifications are deactivatedafter one hour. Referring again to the example of FIG. 9, with option1206 set to “one hour,” if Brian 930 issues a call spray at 9:00 pm, andCarla 932 calls Brian 930 at 9:50 pm, she will be presented with thecall spray notification, since it is less than one hour since the callspray occurred. If instead, Carla 932 calls Brian 930 at 10:01 pm, Carla932 will not be presented with the call spray notification, since it hasbeen more than one hour since the call spray occurred. Instead, at 10:01pm, Carla 932 will be connected via a conventional connection to Brian930, to reach Brian as a live user, or reach his voicemail if he doesnot answer. Note that while checkboxes and radio buttons are shown inuser interface 1200, other user interface controls are possible.Furthermore, some embodiments may include more or fewer selections thanwhat is shown in FIG. 12.

It should be recognized that although embodiments of the invention aredescribed herein as implemented using cellular smartphones, otherimplementations are included within the scope of embodiments of theinvention as well. For example, some implementations may, instead ofusing cellular phone technology, may utilize VoIP, video conferencing,other communications mechanisms, or any combination thereof.

Some of the functional components described in this specification havebeen labeled as systems or units in order to more particularly emphasizetheir implementation independence. For example, a system or unit may beimplemented as a hardware circuit comprising custom VLSI circuits orgate arrays, off-the-shelf semiconductors such as logic chips,transistors, or other discrete components. A system or unit may also beimplemented in programmable hardware devices such as field programmablegate arrays, programmable array logic, programmable logic devices, orthe like. A system or unit may also be implemented in software forexecution by various types of processors. A system or unit or componentof executable code may, for instance, comprise one or more physical orlogical blocks of computer instructions, which may, for instance, beorganized as an object, procedure, or function. Nevertheless, theexecutables of an identified system or unit need not be physicallylocated together, but may comprise disparate instructions stored indifferent locations which, when joined logically together, comprise thesystem or unit and achieve the stated purpose for the system or unit.

Further, a system or unit of executable code could be a singleinstruction, or many instructions, and may even be distributed overseveral different code segments, among different programs, and acrossseveral memory devices. Similarly, operational data may be identifiedand illustrated herein within modules, and may be embodied in anysuitable form and organized within any suitable type of data structure.The operational data may be collected as a single data set, or may bedistributed over different locations including over different storagedevices and disparate memory devices.

Furthermore, systems/units may also be implemented as a combination ofsoftware and one or more hardware devices. For instance, locationdetermination and alert message and/or coupon rendering may be embodiedin the combination of a software executable code stored on a memorymedium (e.g., memory storage device). In a further example, a system orunit may be the combination of a processor that operates on a set ofoperational data.

As noted above, some of the embodiments may be embodied in hardware. Thehardware may be referenced as a hardware element. In general, a hardwareelement may refer to any hardware structures arranged to perform certainoperations. In one embodiment, for example, the hardware elements mayinclude any analog or digital electrical or electronic elementsfabricated on a substrate. The fabrication may be performed usingsilicon-based integrated circuit (IC) techniques, such as complementarymetal oxide semiconductor (CMOS), bipolar, and bipolar CMOS (BiCMOS)techniques, for example. Examples of hardware elements may includeprocessors, microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), logic gates, registers, semiconductor devices, chips,microchips, chip sets, and so forth. However, the embodiments are notlimited in this context.

Also noted above, some embodiments may be embodied in software. Thesoftware may be referenced as a software element. In general, a softwareelement may refer to any software structures arranged to perform certainoperations. In one embodiment, for example, the software elements mayinclude program instructions and/or data adapted for execution by ahardware element, such as a processor. Program instructions may includean organized list of commands comprising words, values, or symbolsarranged in a predetermined syntax that, when executed, may cause aprocessor to perform a corresponding set of operations.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, may be non-transitory,and thus is not to be construed as being transitory signals per se, suchas radio waves or other freely propagating electromagnetic waves,electromagnetic waves propagating through a waveguide or othertransmission media (e.g., light pulses passing through a fiber-opticcable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device. Program data may also bereceived via the network adapter or network interface.

Computer readable program instructions for carrying out operations ofembodiments of the present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of embodiments of the present invention.

These computer readable program instructions may be provided to aprocessor of a computer, or other programmable data processing apparatusto produce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerreadable program instructions may also be stored in a computer readablestorage medium that can direct a computer, a programmable dataprocessing apparatus, and/or other devices to function in a particularmanner, such that the computer readable storage medium havinginstructions stored therein comprises an article of manufactureincluding instructions which implement aspects of the function/actspecified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

While the disclosure outlines exemplary embodiments, it will beappreciated that variations and modifications will occur to thoseskilled in the art. For example, although the illustrative embodimentsare described herein as a series of acts or events, it will beappreciated that the present invention is not limited by the illustratedordering of such acts or events unless specifically stated. Some actsmay occur in different orders and/or concurrently with other acts orevents apart from those illustrated and/or described herein, inaccordance with the invention. In addition, not all illustrated stepsmay be required to implement a methodology in accordance withembodiments of the present invention. Furthermore, the methods accordingto embodiments of the present invention may be implemented inassociation with the formation and/or processing of structuresillustrated and described herein as well as in association with otherstructures not illustrated. Moreover, in particular regard to thevarious functions performed by the above described components(assemblies, devices, circuits, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (i.e., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated exemplary embodiments of theinvention. In addition, while a particular feature of embodiments of theinvention may have been disclosed with respect to only one of severalembodiments, such feature may be combined with one or more features ofthe other embodiments as may be desired and advantageous for any givenor particular application. Therefore, it is to be understood that theappended claims are intended to cover all such modifications and changesthat fall within the true spirit of embodiments of the invention.

What is claimed is:
 1. A computer-implemented method for performing amultiple party call acknowledgement, comprising: receiving a pluralityof contacts on a call processing system from an electronic device of acaller; initiating a connection attempt to each of the plurality ofcontacts with the call processing system; connecting with an electronicdevice of a live user associated with one contact of the plurality ofcontacts such that the live user and the caller may have a conversation;configuring a call spray event notification in response to theconnecting; and sending a message, comprising the call spray eventnotification, to each of the plurality of contacts for which aconnection is not established, wherein the message includes a transcriptincluding conversation with the live user and the caller.
 2. The methodof claim 1, wherein the call spray event notification includes a name ofthe live user.
 3. The method of claim 1, wherein the call spray eventnotification includes a voice recording including conversation with thelive user and the caller.
 4. The method of claim 1, wherein the messageincludes a name of the live user.
 5. The method of claim 1, wherein themessage includes a callback number.
 6. The method of claim 1, whereinthe receiving the plurality of contacts comprises receiving a selectionof contacts associated with a billing account associated with theelectronic device of the caller.
 7. The method of claim 1, wherein thereceiving the plurality of contacts comprises receiving a selection ofcontacts associated with a user-created group.
 8. The method of claim 1,wherein the message further includes biometric information from abiometric sensor coupled to the electronic device of the caller.
 9. Anelectronic communication device comprising: a processor; a memorycoupled to the processor, the memory containing instructions, that whenexecuted by the processor, perform the steps of: receiving a pluralityof contacts on a call processing system from an electronic device of acaller; initiating a connection attempt to each of the plurality ofcontacts with the call processing system; connecting with an electronicdevice of a live user associated with one contact of the plurality ofcontacts such that the live user and the caller may have a conversation;configuring a call spray event notification in response to theconnecting; and sending a message, comprising the call spray eventnotification, to each of the plurality of contacts for which aconnection is not established, wherein the message includes a transcriptincluding conversation with the live user and the caller.
 10. Theelectronic communication device of claim 9, wherein the call spray eventnotification includes a name of the live user.
 11. The electroniccommunication device of claim 9, wherein the call spray eventnotification includes a voice recording including conversation with thelive user and the caller.
 12. The electronic communication device ofclaim 9, wherein the message includes a name of the live user.
 13. Theelectronic communication device of claim 9, wherein the message includesa callback number.
 14. The electronic communication device of claim 1,wherein the receiving the plurality of contacts comprises receiving aselection of contacts associated with a billing account associated withthe electronic device of the caller.
 15. The electronic communicationdevice of claim 1, wherein the receiving the plurality of contactscomprises receiving a selection of contacts associated with auser-created group.
 16. The electronic communication device of claim 9,further comprising a geolocation receiver configured and disposed todetermine a location of the electronic device of the caller, and whereinthe message includes the location of the electronic device of thecaller.
 17. A computer program product for performing a multiple partycall acknowledgement, for an electronic computing device comprising acomputer readable storage medium having program instructions embodiedtherewith, the program instructions executable by a processor to causethe electronic computing device to: receive a plurality of contacts on acall processing system from an electronic device of a caller; initiate aconnection attempt to each of the plurality of contacts with the callprocessing system; connect with an electronic device of a live userassociated with one contact of the plurality of contacts such that thelive user and the caller may have a conversation; configure a call sprayevent notification in response to the connecting; and send a message,comprising the call spray event notification, to each of the pluralityof contacts for which a connection is not established, wherein themessage includes a transcript including conversation with the live userand the caller.
 18. The computer program product of claim 17, whereinthe call spray event notification includes a name of the live user. 19.The computer program product of claim 17, wherein the call spray eventnotification includes a voice recording including conversation with thelive user and the caller.
 20. The computer program product of claim 17,wherein the message includes a name of the live user.